package com.ng.model.po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 用户表 实例
 *
 * @author Ng
 * @date 2024/03/07
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("tb_user")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    // 用户 ID
    private Long userId;
    // 账号
    private String userName;
    // 密码
    private String passWord;
    // 类型 0:管理员 1:注册用户 2:访客
    private Short type;
    // 昵称
    private String name;
    // 性别 0:男 1:女 2:未知
    private Short sex;
    // 手机
    private String phone;
    // 邮箱
    private String email;
    // 头像路径
    private String avatar;
    // 账号状态 0:正常 1:禁用
    private Short status;
    // 删除标志 0:正常 1:删除
    private Short deleteFlag;
    // 登录 IP
    private String loginIp;
    // 登录时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime loginTime;
    // 密码更新时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime pwdUpdateTime;
    // 描述
    private String description;
    // 创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    // 修改时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime changeTime;
    // 创建人
    private String createBy;
    // 修改人
    private String changeBy;
}
